"""
保存模块
作用：将数据依据data零件信息，doc文档信息和img图片信息
分别保存入数据库中的后缀为_data,_doc和_img的集合中
参数：
    mongodbName：输入要保存的数据库名
        注：数据库名最好使用品牌名
"""
import pymongo

from controlDicts import format_info

class SaverMongo:

    def __init__(self,mongodbName) -> None:
        ## mongodb数据库连接(本地)
        self.mongo_connection = pymongo.MongoClient()

        #数据库
        self.db = self.mongo_connection[mongodbName]
        
        # 集合
        self.data = self.db[f'{mongodbName}_data']
        self.img = self.db[f'{mongodbName}_img']
        self.doc = self.db[f'{mongodbName}_doc']


    def save_part_data(self,partInfo):
        partInfo = format_info(partInfo)
        self.data.insert_one(partInfo)
    
    def save_part_imgs(self,partImg):
        if partImg:
            return self.img.insert_many(partImg).inserted_ids
        return []
    
    def save_part_docs(self,partDoc):
        if partDoc:
            return self.doc.insert_many(partDoc).inserted_ids
        return []

    def close(self):
        self.mongo_connection.close()
